home *** CD-ROM | disk | FTP | other *** search
- DESKTOP x1k1 ╔═════════════════╗
- ║ WD1772 ║
- ║ bit assignments ║
- ╚═════════════════╝
- Western Digital 1772
- ┌─────────────────┐
- │ Status Register │ b0=busy
- │ │ b1=index pulse/data requested (type I/II-III)
- │ │ b2=track 0 /lost data (type I/II-III)
- │ │ b3=cyclic redundancy checksum error
- │ │ b4=record not found
- │ │ b5=spin up/DAM type ($FB/$F8 for read sector)
- │ │ b6=write protected
- │ │ b7=motor on (~10 index pulses after command)
- └─────────────────┘
- ┌──────────────────┐╔═══════════════╦═════════════════╦════╗
- │ Command Register │║ bit ║ command ║type║
- │ │║7 6 5 4 3 2 1 0║ ║ ║
- │ │╠═╤═╤═╤═╤═╤═╤═╤═╬═════════════════╬════╣
- │ │║0│0│0│0│h│v│1│1║ restore ║ I ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║0│0│0│1│h│v│1│1║ seek ║ I ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║0│0│1│u│h│v│1│1║ step ║ I ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║0│1│0│u│h│v│1│1║ step in ║ I ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║0│1│1│u│h│v│1│1║ step out ║ I ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║1│0│0│m│h│0│0│0║ read sector ║ II ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║1│0│1│m│h│0│0│d║ write sector ║ II ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║1│1│0│0│h│0│0│0║ read address ║III ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║1│1│1│0│h│0│0│0║ read track ║III ║
- │ │╟─┼─┼─┼─┼─┼─┼─┼─╫─────────────────╫────╢
- │ │║1│1│1│1│h│0│0│0║ write track ║III ║
- │ │╟─┼─┼─┼─┼─┴─┼─┼─╫─────────────────╫────╢
- │ │║1│1│0│1│int│0│0║ force interrupt ║ IV ║
- │ │╚═╧═╧═╧═╧═══╧═╧═╩═════════════════╩════╝
- │ │ h: motor on test
- │ │ v: verify track
- │ │ u: update track register
- │ │ m: multiple sectors
- │ │ d: DAM type ($FB/$F8)
- │ │ int: 00:without interrupt
- │ │ 10:with interrupt
- │ │ 01:after index pulse
- │ │set interrupt requested when command is over
- │ │clear interrupt requested when SR is read
- │ │┌─────────────────────────────────────────────┐
- │ ││ write track │
- │ │├─────────┬──────────┬───┬────────────────────┤
- │ ││ byte in │ byte out │MFM│ type │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $00-$F4 │ $00-$F4 │yes│ data or gap │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $F5 │ $A1 │ no│ sync/clearCRC │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $F6 │ $C2 │ no│ synchronization │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $F7 │ $ss-$ss │ no│ write CRC │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $F8 │ $F8 │ no│ data address mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $F9 │ $F9 │ no│ data mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $FA │ $FA │ no│ data mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $FB │ $FB │ no│ data address mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $FC │ $FC │ no│ data mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $FD │ $FD │ no│ data mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $FE │ $FE │ no│ index address mark │
- │ │├─────────┼──────────┼───┼────────────────────┤
- │ ││ $FF │ $FF │ no│ data mark │
- └──────────────────┘└─────────┴──────────┴───┴────────────────────┘
- ┌──────────────┐
- │TracK Register│ b7-b0=track
- └──────────────┘
- ┌───────────────┐
- │SeCtor Register│ b7-b0=sector
- └───────────────┘
- ┌─────────────┐
- │DaTa Register│ b7-b0=data/track to seek
- └─────────────┘
-